package com.four.shop.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.four.shop.entity.Manage;
import com.four.shop.vo.ManageVo;
import com.guli.common.utils.PageUtils;
import com.guli.common.utils.R;

import java.util.List;
import java.util.Map;
/**
 * @Author:wsy
 * @Date: 2021/12/9/15:35
 */
public interface ManageService {
    /**
     * 根据id
     * @param id ：编号
     * @return ：返回列表
     */
    Manage getShopById(Integer id);

    /**
     * 分页模糊
     * @param map ：参数，当前页、每页条数、模糊查询、根据商品类型查询
     * @return ：返回分页结果
     */
    PageUtils managePageList(Map<String, Object> map);

    /**
     * 删除商品里的一条数据
     * @param manId ：编号
     * @return ：返回状态
     */
    R manageDeleteById(Integer manId);

    /**
     * 添加
     * @param manage
     */
    void addShop(Manage manage);

    /**
     * 根据id上传es
     * @param id
     */
    void manUp(Integer id);

    /**
     * 根据id
     * 删除es中的数据
     * @param id
     */
    void manDown(Integer id);

    /**
     * 修改状态
     * @param id
     * @return
     */
    Manage selectMage(Integer id);

    /**
     * 修改商品信息
     * @param manage
     */
    void updateState(Manage manage);

    /**
     * 添加
     * @param manageVo
     * @param token
     * @return
     */
    R saveManage(ManageVo manageVo, String token);

    /**
     * token
     * @param value
     * @return
     */
    R getToken(String value);

    /**
     * fegin调用所使用的查所有商品
     * @return
     */
    List<Manage> findAllManage();
    /**
     * fegin调用所使用的根据id所有商品
     * @param id
     * @return
     */
    Manage getManageById(Integer id);

    /**
     *列表+分页+模糊
     * @param page
     * @param pageSize
     * @param vo
     * @return
     */
    IPage<Manage> getfindAll(Integer page, Integer pageSize, ManageVo vo);

}
